﻿namespace ZenSystemService.Api.DTOs
{
    public class CourseDTO
    {
    }
    /// <summary>
    /// 课程类型查询条件
    /// </summary>
    public class CourseTypeQuery
    {
        /// <summary>
        /// 机构ID
        /// </summary>
        public int InstitutionId { get; set; }
    }
    public class CourseDetailQuery
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }
    }

    /// <summary>
    /// 课程查询条件
    /// </summary>
    public class CourseQuery
    { 
        /// <summary>
        /// 日期
        /// </summary>
        public string Date { get; set; }

        /// <summary>
        /// 机构ID
        /// </summary>
        public int? InstitutionId { get; set; }


        /// <summary>
        /// 教练ID
        /// </summary>
        public int? CoachId { get; set; }
    }

    /// <summary>
    /// 课程查询条件
    /// </summary>
    public class CourseQuery2
    { 
        /// <summary>
        /// 开始日期
        /// </summary>
        public string StartDate { get; set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public string EndDate { get; set; }


        /// <summary>
        /// 机构ID
        /// </summary>
        public int? InstitutionId { get; set; }


        /// <summary>
        /// 教练ID
        /// </summary>
        public int? CoachId { get; set; }

    }
    public class CourseQuery3
    {
        /// <summary>
        /// 日期
        /// </summary>
        public string Date { get; set; }
    }

    /// <summary>
    /// 课程查询条件
    /// </summary>
    public class CourseQuery4
    {
        /// <summary>
        /// 开始日期
        /// </summary>
        public string StartDate { get; set; }

        /// <summary>
        /// 结束日期
        /// </summary>
        public string EndDate { get; set; }

    }

    /// <summary>
    /// 课程添加请求数据
    /// </summary>
    public class AdminCourseAddRequest
    { 
        /// <summary>
        /// 开始时间
        /// </summary>
        public string StartTime { get; set; }


        /// <summary>
        /// 课程时长(分钟)
        /// </summary>
        public int CourseDuration { get; set; }


        /// <summary>
        /// 课程类型
        /// </summary>
        public int CourseType { get; set; }


        /// <summary>
        /// 教练ID数组
        /// </summary>
        public int[] CoachIdArr { get; set; }
    }


    /// <summary>
    /// 课程添加请求数据
    /// </summary>
    public class CoachCourseAddRequest
    {
        /// <summary>
        /// 开始时间
        /// </summary>
        public string StartTime { get; set; }


        /// <summary>
        /// 课程时长(分钟)
        /// </summary>
        public int CourseDuration { get; set; }


        /// <summary>
        /// 课程类型
        /// </summary>
        public int CourseType { get; set; }


        /// <summary>
        /// 教练ID
        /// </summary>
        public int CoachId { get; set; }
    }

    /// <summary>
    /// 课程修改请求数据
    /// </summary>
    public class CourseUpdateRequest
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public string StartTime { get; set; }


        /// <summary>
        /// 课程时长(分钟)
        /// </summary>
        public int CourseDuration { get; set; }


        /// <summary>
        /// 课程类型
        /// </summary>
        public int CourseType { get; set; }


        /// <summary>
        /// 教练ID （管理员添加时使用）
        /// </summary>
        public int CoachId { get; set; }
    }

    /// <summary>
    /// 绑定课程学员请求参数
    /// </summary>
    public class BindCourseTraineeRequest
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 学员ID集合
        /// </summary>
        public int[] TraineeIdArr { get; set; }
    }

    /// <summary>
    /// 解绑课程学员请求参数
    /// </summary>
    public class UnBindCourseTraineeRequest
    { 
        
        /// <summary>
        /// 课程学员ID
        /// </summary>
        public int CourseTraineeId { get; set; }
    }

    /// <summary>
    /// 绑定课程训练项目集合
    /// </summary>
    public class BindCourseTrainingItemRequest
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 训练项目ID集合 
        /// </summary>
        public int[] TrainingItemIdArr { get; set; }
    }

    /// <summary>
    /// 解绑课程训练项目集合
    /// </summary>
    public class UnBindCourseTrainingItemRequest
    { 
    
        /// <summary>
        /// 课程训练项ID
        /// </summary>
        public int CourseTrainingItemId { get; set; }
    }


    /// <summary>
    /// 课程签到请求参数
    /// </summary>
    public class CourseSignInRequest
    {

        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 学员ID
        /// </summary>
        public int[] TraineeIdArr { get; set; }
    }


    public class FinishClassSignRequest
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 学员ID
        /// </summary>
        public int TraineeId { get; set; }

        public string? SaveImage { get; set; }
    }


    public class FinishClassRequest
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public int CourseId { get; set; }
    }


    public class TraineeCancelReservationRequest
    {
        public int CourseTraineeId { get; set; }
    }



    public class ApplySubstituteCourseRequest
    {
        public int CourseId { get; set; }

        /// <summary>
        /// 代课教练
        /// </summary>
        public int SubstituteCoachId { get; set; }
    }


    public class SendZenBrightTestOrderRequest
    { 
        /// <summary>
        /// 学员ID
        /// </summary>
        public int TraineeId { get; set; }
    }

}
